/**
 * Это класс модели пользователя.
 * @lends phonebook.model.PhoneListModel
 */
phonebook.model.PhoneListModel = Base.extend({

    controller : null,		// объект управления процессами Приложения
    phoneList: null,
    
    /**
     * Конструктор класса
     * @author Konstantin Chumachenko
     * @class Класс модели списка книг.
     * 
     * <p><b>Пример:</b></p>
     * <pre class="code">
     * var PhoneListModel = new phonebook.model.PhoneListModel(controller);
     * PhoneListModel.load();
     * </pre>
     * 
     * @constructs
     * @param {Controller} controller Контроллер приложения.
     */
    constructor : function(controller) {
        console.log('-- PhoneListModel: Конструктор.');
        this.controller = controller;
    },
	
    /**
     * Загрузить данные модели таблицы.
     * @public 
     * @function 
     * @memberOf phonebook.model.PhoneListModel#
     */
    load: function() {
        var me = this;
        try {		
            $.ajax({
                type: 'POST',
                url: "index?ajax=getPhoneList",
                async: false,
                success: function(data,  textStatus,  jqXHR){
                    var com =  jQuery.parseJSON(data);                   
                    me.phoneList = com.aaData;
                }
            });
        }
        catch (e) {
            throw 'phonebook.model.PhoneListModel::load(): '+e;
        }
    },
    filterLoad: function(filter){
        var me = this;
        console.log("Filtred load");
        try {		
            $.ajax({
                type: 'POST',
                url: "index?ajax=getPhoneList&filter="+filter,
                async: false,
                success: function(data,  textStatus,  jqXHR){
                    var com =  jQuery.parseJSON(data);                   
                    me.phoneList = com.aaData;
                }
            });
        }
        catch (e) {
            throw 'phonebook.model.PhoneListModel::load(): '+e;
        }
    },
    searchLoad: function(data){
        var me = this;
        console.log("Search load: "+data);
        try {		
            $.ajax({
                type: 'POST',
                url: "index?ajax=getPhoneList&"+data,
                async: false,
                success: function(data,  textStatus,  jqXHR){
                    var com =  jQuery.parseJSON(data);                   
                    me.phoneList = com.aaData;
                }
            });
        }
        catch (e) {
            throw 'phonebook.model.PhoneListModel::load(): '+e;
        }
    },
    getModel: function(){
        return this.phoneList;
    }
});
